#coding:utf-8
def o(A,B,a,b):
	S = A*B
	F = (A-a)*(B-b)+(A-b)*(B-a)
	O = 1*(S-F)
	return O

#用于存放剩余空间的列表
spaceOfTree = []
placingOrder = []

def packing(A,B,pell):
	try:
		od = []
		# 筛选能放进布局空间的零件并计算出排序最靠前的布局块
		for i in pell:
			if ((A >= i[1] and B >= i[2]) or (A >= i[2] and B >= i[1])):
				c = o(A, B, i[1], i[2])
				od.append(c)
			else:
				c = o(A, B, 0, 0)
				od.append(c)

		#如果pell只有一个零件且能放进布局块，则将该零件ID存入列表,并返回该列表
		if ((len(od)==1) and (od[0] != -A*B)):
			yo = pell[0][0]
			placingOrder.append(yo)

			return placingOrder
		#如果pell只有一个零件但该零件放不进布局块，返回列表
		elif ((len(od) ==1)and(od[0] ==-A*B)):

			return placingOrder
		elif
